import {director} from "cc";

/**
 * 路由器
 * 为什么需要路由器？
 * 1.封装导航
 * 2.路由守卫
 */
export class Router {
    /**
     * 路由器实例
     */
    private static instance: Router;

    /**
     * 获取路由器实例
     */
    public static getInstance(): Router {
        if (this.instance) {
            return this.instance;
        }
        this.instance = new Router();
        return this.instance;
    }

    /**
     * 禁止创建对象
     */
    private constructor() {
        // 初始化
        this.init();
    }

    /**
     * 初始化
     */
    private init() {

    }

    /**
     * 导航到指定场景
     *
     * @param sceneName 场景名称
     */
    private navigate(sceneName: string) {
        director.loadScene(sceneName);
    }

    /**
     * 导航到登录场景
     */
    public navigateToLogin() {
        this.navigate("login");
    }

    /**
     * 导航到战斗场景
     */
    public navigateToFight() {
        this.navigate("fight");
    }
}